﻿Выборка строк из DataTable:
https://docs.microsoft.com/ru-ru/dotnet/api/system.data.datatable.select?view=net-6.0

C# Examples https://www.csharp-examples.net

TRUNCATE — в языке SQL — операция мгновенного удаления всех строк в таблице.
Логически схожа с операцией DELETE без оператора WHERE, но в ситуациях на практике имеет отличия.
Общий синтаксис команды: TRUNCATE TABLE <Имя Таблицы>. Последствием выполнения такой команды является полное удаление всех строк таблицы <Имя Таблицы>.

http://code.mu/ru/sql/manual/		Справоник SQL



+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+													  +
+						ЗАДАЧИ						  +
+													  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

-Отображение проведенных уроков в каждой группе по дням

-Указание сроков практики (график чередования теории и практики)

-Формирование ограничений (заявки преподавателей с указанием срока, группы, даты или периода)

-Показ уже поведенных уроков без возможности редактирования ячеек

-Итоговые цифры в столбцах остатка (или отдельным значением для группы и в ОСОБЕННОСТИ для преподавателей)

-Нужен календарь

-При выборе даты нужно пересчитывать суммы в строках плана

-Сделать границы смещаемыми

-Сделать ширину столбцов меньше

-Устанавливать курсор на текущую неделю

-При смене нагрузки, нужно учитывать пранирование часов! Обязательно подумать над этим при создании логики рабочей таблицы для планирования

-Сохранение данных в таблицах плана работает неадекватно

-При редактировании данных в плане по преподавателям, не сохраняются данные (Например, у Зяхор)
Это произошло из-за изменения нагрузки (добавил Сухарева)



Не знаю, правильно ли понял, что вы хотите сделать, но допустим:

У вас есть объект DateTime. Не знаю, как вы его получите, будь то DateTime.Now, DateTime.UtcNow, или как-то еще. Задача в определении того, какая по счету неделя идет для этой даты.

Тогда задача становится тривиальной:

DateTime myDateTime = DateTime.Now;
int firstDayOfYear = (int)new DateTime(myDateTime.Year, 1, 1).DayOfWeek;
int weekNumber = (myDateTime.DayOfYear + firstDayOfYear) / 7;
Тогда переменная weekNumber будет хранить значение, и при этом первая неделя будет 0, вторая - 1 и т.д. Если нужно считать недели, начиная с 1, то просто

int weekNumber = (myDateTime.DayOfYear + firstDayOfYear) / 7 + 1;
Как-то так.